package com.xps.charminguser.date.servicrapi;


import com.xps.charminguser.bean.LoginBean;
import com.xps.charminguser.bean.SeeOrderBean;
import com.xps.charminguser.bean.VerificationBean;
import com.xps.charminguser.bean.WaitOrderBean;

import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
import rx.Observable;

public interface UserApi {


    /**
     * 登陆接口
     *
     * @param username 用户名
     * @param password 密码
     * @return
     */
    @FormUrlEncoded
    @POST("rider_registered/rider_login")
    Observable<LoginBean> goLogin(@Field("rider_email") String rider_email, @Field("rider_password") String rider_password);

    /**
     * 注册验证码接口
     *
     * @param rider_tel 手机号
     * @return
     */
    @FormUrlEncoded
    @POST("rider_registered/send_message")
    Observable<VerificationBean> getVerification(@Field("rider_tel") String rider_tel);

    /**
     * 注册骑手接口
     *
     * @param rider_register_way 注册方式,1:Facebook;2:KAKAO;3:微信;4:邮箱
     * @param rider_email        邮箱
     * @param rider_name         名称
     * @param rider_sex          性别(0:女;1:男)
     * @param rider_password     密码
     * @param rider_tel          电话号码
     * @param sms_code           验证码
     * @return
     */
    @FormUrlEncoded
    @POST("rider_registered/registered")
    Observable<VerificationBean> getRegisterRider(@Field("rider_register_way") String rider_register_way, @Field("rider_email") String rider_email, @Field("rider_name") String rider_name, @Field("rider_sex") String rider_sex, @Field("rider_password") String rider_password, @Field("rider_tel") String rider_tel, @Field("sms_code") String sms_code, @Field("rider_avatar") String rider_avatar);

    /**
     * 获取未接单列表
     *
     * @param rider_token 手机号
     * @return
     */
    @FormUrlEncoded
    @POST("rider/wait_order_list")
    Observable<WaitOrderBean> getWaitOrder(@Field("rider_token") String rider_token);

    /**
     * 获取未接单列表
     *
     * @param rider_token 手机号
     * @return
     */
    @FormUrlEncoded
    @POST("rider/accept_order")
    Observable<VerificationBean> getAcceptOrder(@Field("rider_token") String rider_token, @Field("order_id") String order_id);

    /**
     * 获取未接单列表
     *
     * @param rider_token 手机号
     * @return
     */
    @FormUrlEncoded
    @POST("rider/ing_or_finish_order")
    Observable<WaitOrderBean> getOrder(@Field("rider_token") String rider_token);

    /**
     * 获取订单详情
     *
     * @param rider_token 手机号
     * @param order_id    订单ID
     * @return
     */
    @FormUrlEncoded
    @POST("rider/wait_order_details")
    Observable<SeeOrderBean> getSeeOrder(@Field("rider_token") String rider_token, @Field("order_id") String order_id);

    /**
     * 获取订单详情
     *
     * @param rider_token 手机号
     * @param order_id    订单ID
     * @return
     */
    @FormUrlEncoded
    @POST("rider/finish_order")
    Observable<VerificationBean> getCompleteOrder(@Field("rider_token") String rider_token, @Field("order_id") String order_id, @Field("order_payment_method") String order_payment_method);

}
